home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1993 / Internet Info CD-ROM (Walnut Creek) (1993).iso / networking / ip / dns / bind / SA_records < prev    next >
Encoding:
Text File  |  1992-10-26  |  2.4 KB  |  52 lines

  1. Update 9-9-92
  2.  
  3. named now supports a '-s' flag.  Using it means that your secondary server
  4. supports shuffle A records, and so when sending them via the zone transfer
  5. mechanism, it will send a "SA' record instead of a plain "A" record.
  6.  
  7. It also handles the case where a give domain name has some SA records and
  8. other types of records.  (It shuffles the A records and leaves the rest
  9. alone.)
  10.  
  11. ------------------------------------------------------------------------------
  12.  
  13. SA records are a new data type that I have added to BIND 4.8.3.  They are
  14. "shuffle A records".  They look and act just like A records except the
  15. nameserver shuffles them up before replying to the requester.
  16.  
  17. Use SA records in cases where you would like several A records returned, but in
  18. a different order each time.  There is no support in SA records for any kind of
  19. scheduling or weighting; you're stuck with randomness.
  20.  
  21. The syntax of a SA record is identical to the of an A record, except that the
  22. type field is SA, not A.
  23.  
  24. SA records are implemented in this way.  An additional record type is defined
  25. in /usr/include/arpa/nameser.h, namely T_SA (104).  In addition a new named
  26. data flag is defined, DB_F_SHUFFLE.
  27.  
  28. db_load() is modified to recognize SA records.  When it finds one, it sets
  29. the DB_SHUFFLE data flag of the record, but then it falls through to the
  30. standard A record code.  From this point on only your nameserver knows it
  31. is a SA record; to the rest of the world (including your secondary servers)
  32. it will apeear as an A record (EXCEPTION: if you use the -s flag described
  33. above).
  34.  
  35. ns_req() and ns_resp() also need to be modified to check to see if the
  36. DB_SHUFFLE flag is set on any data they are to return.  If they do see
  37. the flag, then all of the A records with that flag set are shuffled.
  38.  
  39. The shuffling is handled by a routine called shuffle_rrs() in a new
  40. source file ns_shuf.c.  The shuffling code is simple.  Records are
  41. not so much shuffled as they are re-ordered.
  42.  
  43. The bind4.8.3.tar.Z release in this directory contains a BIND 4.8.3 with
  44. SA record support.  I would have made some kind of diffs available, but
  45. because of the various versions of BIND floating about (4.8.1, 4.8.3,
  46. patched 4.8.3, patched and hacked 4.8.3, . . .) it really isn't very
  47. easy.
  48.  
  49. Some future work might include adding SX (shuffle MX) records, getting
  50. the shuffle code to cope with non-A records, and getting named-xfer to
  51. preserve SA records in secondaries.
  52.